package com.suneee.cloud.admin.service;

import java.util.List;
import java.util.Map;

import com.suneee.cloud.admin.entity.AdministratorBean;
import com.suneee.context.page.Page;
import com.suneee.sso.admin.entity.Administrator;

public interface AdministratorService {

	/**
	 * 修改密码
	 * @param adminId
	 * @param password
	 * @param newPassword
	 */
	public void updPwd(String adminId,String password,String newPassword);
	
	/**
	 * 企业管理员修改密码激活账号
	 * @param adminId
	 * @param identity 账号密码修改激活标识
	 * @param password
	 * @param newPassword
	 * @param commitNewPwd
	 */
	public void updPwdEn(String adminId,String identity,String password,String newPassword,String commitNewPwd);
	
	/**
	 * 账号列表
	 * @param bean
	 * @return
	 */
	public Page<Map<String,Object>> list(AdministratorBean bean);
	
	/**
	 * 企业端账号列表
	 * @param bean
	 * @return
	 */
	public Page<Map<String,Object>> listEn(AdministratorBean bean);
	
	/**
	 * 获取管理员对象信息(账号查看)
	 * @param adminId
	 * @return
	 */
	public Administrator getAdministrator(String adminId);
	
	/**
	 * 修改管理员对象信息
	 * @param admin
	 */
	public void updateAdmin(AdministratorBean adminBean);
	
	/**
	 * 新增管理员对象(平台端)
	 * @param adminBean 
	 */
	public void addAdmin(Administrator admin);
	
	/**
	 * 新增企业管理员(后台生成)
	 * @param admin
	 */
	public void addEnAdmin(Administrator admin);
	
	/**
	 * 新增账号(企业端)
	 * @param admin
	 */
	public void addAccount(Administrator admin);
	
	/**
	 * 删除管理员对象
	 * @param adminIds
	 */
	public void deleteAdmin(List<Integer> adminIds);
	
	/**
	 * 创建企业管理员账号时验证是否存在某个企业的管理员账号
	 */
	public boolean checkAdminByEnCode(String enterpriseCode);
	
	/**
	 * 重置密码
	 * @param adminId
	 */
	public void resetPassword(String adminId);
	
	/**
	 * 删除企业下的所有账号
	 */
	public void deleteAccount(String enterpriseCode);
	
	/**
	 * 重置密码,企业账号
	 * @param adminId
	 */
	public void resetPasswordEn(String adminId);
	
	
}
